// import React, { createContext, useContext, useEffect, useState } from 'react';
// import { Network } from '@capacitor/network';
// import { App } from '@capacitor/app';

// interface NetworkContextType {
//   isConnected: boolean;
//   networkType: string;
//   requestNetworkPermission: () => Promise<void>;
// }

// const NetworkContext = createContext<NetworkContextType | undefined>(undefined);

// export const NetworkProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {
//   const [isConnected, setIsConnected] = useState(true);
//   const [networkType, setNetworkType] = useState('');

//   // 检查网络状态
//   const checkNetworkStatus = async () => {
//     const status = await Network.getStatus();
//     setIsConnected(status.connected);
//     setNetworkType(status.connectionType);
//     return status.connected;
//   };

//   // 请求网络权限
//   const requestNetworkPermission = async () => {
//     const connected = await checkNetworkStatus();
    
//     if (!connected) {
//       // 在实际应用中，这里可以显示一个对话框
//       console.warn('网络连接不可用，请检查您的网络设置');
//     }
//   };

//   useEffect(() => {
//     // 初始检查
//     checkNetworkStatus();
    
//     // 监听网络状态变化
//     const listener = Network.addListener('networkStatusChange', status => {
//       setIsConnected(status.connected);
//       setNetworkType(status.connectionType);
      
//       if (!status.connected) {
//         console.warn('网络连接已断开');
//       }
//     });
    
//     // 当应用回到前台时检查网络状态
//     const appListener = App.addListener('appStateChange', ({ isActive }) => {
//       if (isActive) {
//         checkNetworkStatus();
//       }
//     });
    
//     return () => {
//       listener.remove();
//       appListener.remove();
//     };
//   }, []);

//   return (
//     <NetworkContext.Provider value={{ isConnected, networkType, requestNetworkPermission }}>
//       {children}
//     </NetworkContext.Provider>
//   );
// };

// export const useNetwork = () => {
//   const context = useContext(NetworkContext);
//   if (!context) {
//     throw new Error('useNetwork must be used within a NetworkProvider');
//   }
//   return context;
// };